#!/bin/bash

# Debian Package script
# Author: Patrick Klampfl <info@bulme.eu>
# modified by Torsten Brischalle

# change version string and "installed size" (in kiB) if necessary
PROG_VERSION="2.1.2"  # avr8-burn-o-mat version
SIZE="1900"           #(in kiB) unpacked ~1,9MB

sudo rm -f *~

#delete old package-files (if available)
sudo rm -rf tmp_package_files/ 

# delete old Debian Packages in source-directory
sudo rm -f *.deb 

# make directoriese
mkdir tmp_package_files/
mkdir tmp_package_files/usr/
mkdir tmp_package_files/usr/bin/
mkdir tmp_package_files/usr/share/
mkdir tmp_package_files/usr/share/avr8-burn-o-mat/
mkdir tmp_package_files/usr/share/avr8-burn-o-mat/lib/
mkdir tmp_package_files/usr/share/applications/
mkdir tmp_package_files/usr/share/pixmaps/
mkdir tmp_package_files/DEBIAN/
mkdir tmp_package_files/usr/share/doc/
mkdir tmp_package_files/usr/share/doc/avr8-burn-o-mat/
mkdir tmp_package_files/usr/share/man
mkdir tmp_package_files/usr/share/man/man1

# copy files

# 1.) application specific
cp ../dist/lib/*                       tmp_package_files/usr/share/avr8-burn-o-mat/lib/
cp ../dist/AVR8_Burn_O_Mat.jar         tmp_package_files/usr/share/avr8-burn-o-mat/
cp ../AVR8_Burn_O_Mat_Config.xml       tmp_package_files/usr/share/avr8-burn-o-mat/
cp ../AVR8_Burn-O-Mat.png              tmp_package_files/usr/share/avr8-burn-o-mat/
cp ../icon/AVR8_Burn-O-Mat_Icon_16.png tmp_package_files/usr/share/avr8-burn-o-mat/
cp ../license_gpl-3.0.txt              tmp_package_files/usr/share/avr8-burn-o-mat/

# 2.) deb control files
cp control                             tmp_package_files/DEBIAN/
#cp postinst                            tmp_package_files/DEBIAN/
#cp prerm                               tmp_package_files/DEBIAN/
cp copyright                           tmp_package_files/usr/share/doc/avr8-burn-o-mat/
gzip -9 -c changelog                   > tmp_package_files/usr/share/doc/avr8-burn-o-mat/changelog.gz
gzip -9 -c avr8-burn-o-mat.1           > tmp_package_files/usr/share/man/man1/avr8-burn-o-mat.1.gz

# 3.) start script
cp avr8-burn-o-mat                     tmp_package_files/usr/bin/

# 4.) desktop icon
cp ../icon/AVR8_Burn-O-Mat_Icon_48.png tmp_package_files/usr/share/pixmaps/avr8-burn-o-mat.png #image
cp avr8-burn-o-mat.desktop             tmp_package_files/usr/share/applications/               #shortcut

# change version in control file
sed 's/'REPLACE_PROG_VERSION'/'$PROG_VERSION'/g' tmp_package_files/DEBIAN/control > tmp_package_files/DEBIAN/control.mod
mv tmp_package_files/DEBIAN/control.mod tmp_package_files/DEBIAN/control

# change size in control file
sed 's/'REPLACE_SIZE'/'$SIZE'/g'                 tmp_package_files/DEBIAN/control > tmp_package_files/DEBIAN/control.mod
mv tmp_package_files/DEBIAN/control.mod tmp_package_files/DEBIAN/control

# change version in desktop shortcut
sed 's/'REPLACE_PROG_VERSION'/'$PROG_VERSION'/g' tmp_package_files/usr/share/applications/avr8-burn-o-mat.desktop > tmp_package_files/usr/share/applications/avr8-burn-o-mat.desktop.mod
mv tmp_package_files/usr/share/applications/avr8-burn-o-mat.desktop.mod tmp_package_files/usr/share/applications/avr8-burn-o-mat.desktop

# change permissions
#sudo chown root:root tmp_package_files/DEBIAN/postinst tmp_package_files/DEBIAN/prerm
sudo chown -R root:root tmp_package_files/usr

# build new package
dpkg -b tmp_package_files avr8-burn-o-mat-$PROG_VERSION-all.deb

# clean up again
sudo rm -rf tmp_package_files/

